package de.hmm.hwip.configuration.api;

/**
 *  Interface for table: spot configuration service.
 * 
 * @author Johannes Mendel
 * @version 01.10.2012
 *
 */
public interface ISpotConf {
	/**
	 * function to get the query for getting all spotIds
	 * 
	 * @return query to get data
	 */
	public String getQueryForSpotIds();
	
	/**
	 * function to get the query for getting a spotId by ipAdress
	 * 
	 * @param ipAdress: ip_adress of the spot
	 * @return query to get Spot ID
	 */
	public String getQueryForSpotId(String ipAdress);
	
	/**
	 * function to get the query for getting spot data and roomid + description
	 * 
	 * @return query to get data
	 */
	public String getQueryForSpots();
	
	/**
	 * function to get the query for setting a new spot to table
	 * 
	 * @param id: primary key of spot
	 * @param roomId: pk from room table
	 * @param ipAdress: IP Adress from Spot
	 * 
	 * @return query to set data
	 */
	public String getQueryForSetSpot(int id, int roomId, String ipAdress);
	
	/**
	 * function to get the query for updating spot in table
	 * 
	 * @param id: primary key of spot
	 * @param ip: ip adress of the Spot
	 * @param room_id: room_id_fk of room 
	 * 
	 * @return query to update spot entry
	 */	
	public String getQueryForUpdateSpot(int id, String spotId, int roomId);
	
	/**
	 * function to get the query for delete a spot by id
	 * 
	 * @param spotId: spot_id of the spot
	 * @return query to delete Spot
	 */
	public String getQueryForDeleteSpot(int spotId);
}
